package com.yytek.nmp.mapper;

import java.util.List;
import com.yytek.nmp.domain.IotProjectUserTopo;
import com.yytek.nmp.vo.ProjectBindUserVo;

/**
 * 项目授权Mapper接口
 *
 * @author yytek-iot
 * @date 2022-07-05
 */
public interface IotProjectUserTopoMapper
{
    /**
     * 根据项目id查询项目授权
     *
     * @param userId 用户id
     * @return 项目授权
     */
    public List<IotProjectUserTopo> selectIotProjectUserTopoByUserId(Long userId);

    /**
     * 根据自定义查询条件查询项目授权列表
     *
     * @param iotProjectUserTopo 项目授权
     * @return 项目授权集合
     */
    public List<IotProjectUserTopo> selectIotProjectUserTopoList(IotProjectUserTopo iotProjectUserTopo);

    /**
     * 新增项目授权
     *
     * @param iotProjectUserTopo 项目授权
     * @return 结果
     */
    public int insertIotProjectUserTopo(IotProjectUserTopo iotProjectUserTopo);

    /**
     * 修改项目授权
     *
     * @param iotProjectUserTopo 项目授权
     * @return 结果
     */
    public int updateIotProjectUserTopo(IotProjectUserTopo iotProjectUserTopo);

    /**
     * 删除项目授权
     *
     * @param projectId 项目授权主键
     * @return 结果
     */
    public int deleteIotProjectUserTopoByProjectId(Long projectId);

    /**
     * 批量删除项目授权
     *
     * @param projectIds 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteIotProjectUserTopoByProjectIds(Long[] projectIds);

    /**
     * 绑定项目的授权人员
     * @param projectBindUserVo
     * @return
     */
    public int insertAuthProjectBindUsers(ProjectBindUserVo projectBindUserVo);
}
